package com.hanamaki.exception.demo01;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;

public class Demo02 {

//     异常的  捕获
//    ctrl + alt + t
    public static void main(String[] args) {
        int a = 1;
        int b = 0;
//         alt + enter
        try {
            FileInputStream fileInputStream = new FileInputStream(new File(""));
        } catch (FileNotFoundException e) { // 文件未找到 异常
            e.printStackTrace();
        }

//    假设 我们需要扑捉异常 需要 从 小 到 大
//如果  我们想要 给 某段代码块 异常捕获
        try {
            // 代码的监控区域
            System.out.println(a / b);
//            如果 在 代码的监控区域中  出现了 catch语句中 所对应的异常 就直接捕获成功，按照 catch语句中的代码执行
//            如果  ，我不知道 会出现什么异常 使用 最大的异常来捕获(Exception)
//            在程序中，需要扑捉异常 需要 从 小 到 大
        } catch (ArrayIndexOutOfBoundsException e) {
            System.out.println("数组下标越界");
        } catch (ArithmeticException e) {
            System.out.println("算数异常");
            System.out.println(e.getMessage());
        } catch (Exception e) {
            System.out.println("异常");
        }finally { // 处理善后工作
//           io流   关闭
//            io.close
            System.out.println("finally");
        }


    }





}
